#pragma once

#include "BasicObject.h"
#include "Emotion.h"
#include "functionlinear.h"
#include <string>

namespace BAA
{
	class FunctionLinear;

	class Emotion_Fear:public Emotion
	{
	public:
		Emotion_Fear():Emotion("fear")
		{
			Vector2 vec = {0,1};
			Function *func = new FunctionLinear("FunctionLinear", vec);
			Initialize(func,func, 0, 1);
		}
	};// end class

	class Emotion_Anger:public Emotion
	{
	public:
		Emotion_Anger():Emotion("anger")
		{
			Vector2 vec = {0,1};
			Function *func = new FunctionLinear("FunctionLinear", vec);
			Initialize(func,func, 0, 1);
		}
	};// end class

	class Emotion_Sadness:public Emotion
	{
	public:
		Emotion_Sadness():Emotion("sadness")
		{
			Vector2 vec = {0,1};
			FunctionLinear *func = new FunctionLinear("FunctionLinear", vec);
			Initialize(func,func, 0, 1);
		}
	};// end class

	class Emotion_Disgust:public Emotion
	{
	public:
		Emotion_Disgust():Emotion("disgust")
		{
			Vector2 vec = {0,1};
			FunctionLinear *func = new FunctionLinear("FunctionLinear", vec);
			Initialize(func,func, 0, 1);
		}
	};// end class

	class Emotion_Surprise:public Emotion
	{
	public:
		Emotion_Surprise():Emotion("surprise")
		{
			Vector2 vec = {0,1};
			FunctionLinear *func = new FunctionLinear("FunctionLinear", vec);
			Initialize(func,func, 0, 1);
		}
	};// end class

	class Emotion_Happyness:public Emotion
	{
	public:
		Emotion_Happyness():Emotion("happyness")
		{
			Vector2 vec = {0,1};
			FunctionLinear *func = new FunctionLinear("FunctionLinear", vec);
			Initialize(func,func, 0, 1);
		}
	};// end class

	class Emotion_Like:public Emotion
	{
	public:
		Emotion_Like():Emotion("like")
		{
			Vector2 vec = {0,1};
			FunctionLinear *func = new FunctionLinear("FunctionLinear", vec);
			Initialize(func,func, 0, 1);
		}
	};// end class
}// end namespace
